//1、遵守协议的对象具有协议属性，但是不用完全是,接口里的属性不全都是必需的
// interface LableValueInterface {
//     label : string;
//     color ?:string;
// }
//
// function printLableValue(lableObject:LableValueInterface) {
//      console.log(lableObject.label);
// }
//
// let  myobject = {label: '我是刘子彬你',name:"明智",age:"27"};
// printLableValue(myobject);
function createSquare(config) {
    let news = { color: "white", s: 100, backgroundColor: "black" };
    if (config.color) {
        news.color = config.color;
    }
    if (config.width) {
        news.s = config.width * config.width;
    }
    if (config.backgroundColor) {
        news.backgroundColor = config.backgroundColor;
    }
    return news;
}
;
let newsquare = createSquare({ backgroundColor: "red", width: 10 });
console.log(newsquare);
let tom = {
    name: 'Tom',
    tomee: "tomonni",
    age: 23,
    id: 33444,
};
let myArray;
myArray = ["sddad", "45455"];
let mystr = myArray[0];
//TypeScript支持两种索引签名：字符串和数字
// 可以同时使用两种类型的索引，但是数字索引的返回值必须是字符串索引返回值类型的子类型。
class Animal {
}
class Dog extends Animal {
}
class Colck {
    setTime(d) {
        this.currentTime = d;
    }
    // constructor存在于类的静态部分
    constructor(h, m) { }
    ;
}
